package com.ttg.model.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ttg.common.config.LocalDateTimeDeserializer;
import com.ttg.common.config.LocalDateTimeSerializer;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author ZQ
 * @version 1.0
 * @Description
 * @date 2021/1/18 17:18
 */

/**
    * 机构API接口库
    */
@Data
@TableName(value = "tbl_organ_open")
public class OrganOpen {
    @TableId(value = "ogo_id", type = IdType.AUTO)
    private Long ogoId;

    /**
     * 运营平台编号
     */
    @TableField(value = "ogo_org_no")
    private Long ogoOrgNo;

    /**
     * 机构编号
     */
    @TableField(value = "ogo_agent_no")
    private Long ogoAgentNo;

    /**
     * 令牌
     */
    @TableField(value = "ogo_open_id")
    private String ogoOpenId;

    /**
     * 密钥
     */
    @TableField(value = "ogo_open_key")
    private String ogoOpenKey;

    /**
     * 平台接口私钥
     */
    @TableField(value = "ogo_private_key")
    private String ogoPrivateKey;

    /**
     * 平台接口公钥
     */
    @TableField(value = "ogo_public_key")
    private String ogoPublicKey;

    /**
     * 机构公钥（可为空）
     */
    @TableField(value = "ogo_agent_public_key")
    private String ogoAgentPublicKey;

    /**
     * 回调类型（0不需要回调，1交易订单回调，2商户及合同回调，3交易订单和合同回调都要）
     */
    @TableField(value = "ogo_notify")
    private String ogoNotify;

    /**
     * 交易回调地址
     */
    @TableField(value = "ogo_notify_url")
    private String ogoNotifyUrl;

    /**
     * 添加时间
     */
    @TableField(value = "ogo_add_time")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime ogoAddTime;

    /**
     * 修改时间
     */
    @TableField(value = "ogo_edit_time")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime ogoEditTime;

    /**
     * 添加人
     */
    @TableField(value = "ogo_adm_id")
    private Integer ogoAdmId;

    /**
     * 状态（1正常，0关闭）
     */
    @TableField(value = "ogo_status")
    private String ogoStatus;

    /**
     * 接口权限（1标准接口，2银行直清需审，3机构直清免审）
     */
    @TableField(value = "ogo_type")
    private Integer ogoType;

    /**
     * 支付成功跳转页
     */
    @TableField(value = "ogo_payok_url")
    private String ogoPayokUrl;
}